package zju.xmsx.acm.search.back.dao;

import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.update.UpdateResponse;
import org.springframework.stereotype.Repository;
import zju.xmsx.acm.search.back.dto.UpdateContent;

@Repository
public interface ESUpdater {

    /**
     * 根据索引与id更新某一文档的内容
     * @param update 更新内容实体，包括index，id与更新内容
     * @return 更新结果，失败则返回null
     */
    UpdateResponse updateDoc(UpdateContent update);

    /**
     * 批量更新文档
     * @param updates 更新内容实体数组
     * @return 批量更新结果，失败则返回null
     */
    BulkResponse bulkUpdate(UpdateContent[] updates);
}
